home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / utmisc2 / icnfgdgt.rdm < prev    next >
Text File  |  1996-05-20  |  13KB  |  288 lines

  1. Short:    Adds iconify gadget to windows. BETA version.
  2. Author:   Håkon Enger (henger@fys.uio.no)
  3. Uploader: henger@fys.uio.no
  4. Version:  0.8 beta
  5. Type:     util/misc
  6.  
  7. NOTE: This is a beta version. If you use this program, it WILL cause
  8. your computer to crash, sooner or later. If you still want to try it,
  9. I would be grateful if you tell me when you find a bug.
  10.  
  11. CHANGES SINCE VERISON 0.7:
  12.   · The WIDTH option, which was totally unusable was fixed.
  13.   · The gadget now assumes the correct width automatically, also on
  14.     gfx boards (I hope)
  15.   · App-icon handling is now done by the IconifyGadget process itself,
  16.     so the MCP bug is gone. Don't expect MCP AppChange to be useful
  17.     anyway, though.
  18.   · The WBWINDOWS option was moved to the config file
  19.   · Slightly new format of config file, including an option to specify the
  20.     file name of the config-file.
  21.   · Now has an option to save the contents of windows, especially useful
  22.     for SMART_REFRESH windows.
  23.   · Supports StartMenu version 2.0! This is still somewhat experimental,
  24.     since all I have is a beta version of StartMenu 2.0. Expect Iconify-
  25.     Gadget to hang frequently! (Think this is a StartMenu bug...)
  26.  
  27.  
  28. Commodities/IconifyGadget                          Commodities/IconifyGadget
  29.  
  30.  
  31.     NAME
  32.         IconifyGadget - add iconify gadget to windows
  33.  
  34.  
  35.     USAGE
  36.         IconifyGadget [Screens {WORKBENCH|PUBLIC|ALL}] [IKey <keyseq>]
  37.                       [3DLook] [Width <width>] [MoveRight] [SaveSmart]
  38.                       [CX_Priority <pri>] [Config <configfile>]
  39.  
  40.  
  41.     REQUIREMENTS
  42.  
  43.         Any Amiga computer with Workbench 2.0 or higher.
  44.  
  45.  
  46.     FUNCTION
  47.  
  48.         If you run a lot of programs that open windows on the Workbench
  49.         screen, the screen easily gets overcrowded. IconifyGadget helps
  50.         with this problem by adding an option to iconify windows. Windows
  51.         that are iconified are temporarily removed from view and replaced
  52.         by an icon. When the icon is double-clicked on, the window appears
  53.         again and the icon disappears. Iconifying windows with Iconify-
  54.         Gadget is done by clicking on a new gadget appearing to the left
  55.         of the "Zoom" gadget in the upper right corner of the window, or
  56.         by pressing a user-selectable key defined by the IKEY parameter.
  57.         Not all windows are iconifiable, see the DISCUSSION section below
  58.         for details. Also read the WARNING and BUGS sections below.
  59.  
  60.         IconifyGadget is a commodity, so it can be controlled by the
  61.         Commodities Exchange utility. Removing IconifyGadget is
  62.         dangerous if other programs have patched the library functions
  63.         that are patched by IconifyGadget. Se DISCUSSION.
  64.  
  65.         The gadget used is visually similar to the iconify gadget used by
  66.         MUI, which is also used by KCON. An alternate image is provided
  67.         and may be selected with the 3DLOOK switch. This image may be
  68.         preferred if you use "SysIHack".
  69.  
  70.         A config file is used to specify several options to IconifyGadget.
  71.         This file is described in the section CONFIG FILE OPTIONS, below.
  72.  
  73.         IconifyGadget also supports the StartMenu application, a
  74.         Windows 95 "TaskBar" clone program which adds a menu bar
  75.         to the bottom of the screen. With appropriate options in
  76.         the config file, windows may show up in this bar instead of
  77.         as icons when they are iconified.
  78.  
  79.  
  80.     PARAMETERS
  81.  
  82.         All parameters can be used as tooltypes when started from WB or
  83.         as command line parameters when started from the Shell.
  84.  
  85.  
  86.         SCREENS     Define which screen(s) the programs will affect.
  87.                     Specifying WORKBENCH will only affect windows on the
  88.                     Workbench screen, PUBLIC will affect windows on all
  89.                     public screens, and ALL will affect windows on all
  90.                     screens. Since the icons appear only on the WB screen,
  91.                     iconifying windows on other screens seems a little
  92.                     weird, but if you want it, there it is. Default is
  93.                     WORKBENCH
  94.  
  95.         IKEY        Specify a key sequence that will iconify the active
  96.                     window. Default is none.
  97.  
  98.         3DLOOK      For those who like to fool around with sysihack, this
  99.                     switch gives an alternate image for the gadget.
  100.  
  101.         WIDTH       Width of the iconify gadget. If not specified, the
  102.                     standard width will be used, based on the resolution
  103.                     of the screen.
  104.  
  105.         MOVERIGHT   Move the gadget right if there is no zoom gadget.
  106.                     This might be confusing since the iconify gadget might
  107.                     be mistaken for the zoom gadget, so it's an option.
  108.  
  109.         SAVESMART   Use this switch to remember the contents of all
  110.                     SMART_REFRESH windows. Also see the SAVE option in
  111.                     the config file.
  112.  
  113.         CX_PRIORITY Priority for the commodities exchange broker.
  114.  
  115.         CONFIG      Specify the name of the config file. The default name
  116.                     is "ENV:IconifyGadget.config".
  117.  
  118.  
  119.     CONFIG FILE OPTIONS
  120.  
  121.         The config file is by default called "ENV:IconifyGadget.config"
  122.         but this can be changed with the CONFIG option. Each line
  123.         is this file specifies what IconifyGadget should do with a
  124.         certain window, or a certain class of windows.
  125.  
  126.         The lines in should contain the following:
  127.  
  128.          · ONE of the following three keywords to specify which class of
  129.            windows the options on this line is for:
  130.            - A standard AmigaDOS wildcard pattern, to be matched
  131.              with the title of the window.
  132.            - The keyword WBWINDOWS, specifying windows created by
  133.              the Workbench process.
  134.            - The keyword DEFAULT, specifying windows not matched by
  135.              any of the above.
  136.  
  137.          · Optionally the keyword IGNORE, meaning that this window
  138.            should be conpletely overlooked by IconifyGadget.
  139.  
  140.          · Optionally the keyword NOGADGET, meaning that IconifyGadget
  141.            should not add a gadget to this windows border, but that
  142.            it should still be possible to iconify the window with
  143.            the hot key.
  144.  
  145.          · Optionally a file name for the icon to use for this window,
  146.            without the ".info"-part.
  147.  
  148.          · Optionally the keyword CLOSE, meaning that the window should
  149.            function excactly like the close gadget of the window.
  150.            This is useful e.g. for Workbench windows, which already
  151.            have icons. It is also useful for programs that iconify
  152.            themselves when you press the close gadget.
  153.  
  154.          · Optionally the keyword SAVE, which indicates that the
  155.            contents of this window should be remembered when the window
  156.            is iconified. This takes some extra memory, and at the
  157.            moment the window must be brought to front before it is
  158.            iconified to reveal any part of the window that is hidden.
  159.            This option is useful for windows that do not refresh
  160.            correctly when un-iconified, such as many SMART_REFRESH
  161.            windows. Also see the SAVESMART option.
  162.  
  163.          · Optionally the keyword BARIFY, which indicates that the
  164.            window should appear in the StartMenu bar when iconified,
  165.            if StartMenu version 2.0 or later is running.
  166.  
  167.         Here is an example of a config file:
  168.  
  169.         -------------------------------------------------------------
  170.         Default ENV:sys/def_Iconify
  171.         WBWindows CLOSE
  172.         Exchange#? sys:Tools/Commodities/Exchange
  173.         DeliTracker#? CLOSE
  174.         AmigaShell sys:System/CLI
  175.         -------------------------------------------------------------
  176.  
  177.  
  178.     DISCUSSION
  179.  
  180.         This program is one I have wanted to write ever since I got hold
  181.         of Ewout Walraven's "Iconify". That program made it possible to
  182.         iconify most windows by pressing ctrl and double-clicking in
  183.         them, but I wanted a gadget to click on! So here it is, finally
  184.         in beta version. Comments and bugreports are welcomed!
  185.  
  186.         I owe a lot to Ewout Walraven for this program, even if he
  187.         doesn't know it himself. The method used for iconifying the
  188.         windows was inspired by "Iconify", and also the icon was stolen
  189.         from there.
  190.  
  191.         The program works by adding a gadget to all windows that are
  192.         iconifyable. That means that they are refreshable and not gimme-
  193.         zerozero or borderless. If the window already has a gadget in the
  194.         position where IconifyGadget adds it's gadget, the window is
  195.         considered not iconifyable by IconifyGadget. This is usually
  196.         because the program that uses the window has provided a way
  197.         to iconify thw window. The windows are iconified by resizing and
  198.         moving the layer of the window to the bottom left corner of the
  199.         screen. (Clicking in this corner may give strange results for
  200.         some windows!) The window is never really removed from the screen,
  201.         so the screen can not be closed if there are any iconified windows
  202.         left.
  203.  
  204.         When the windows are iconified, they will be represented by an
  205.         AppIcon on the Workbench screen. Double-clicking on this icon will
  206.         bring back to full sized window to the front of the screen.
  207.  
  208.         IconifyGadget patches the following intuition.library functions:
  209.         OpenWindow, OpenWindowTagList, CloseWindow, AddGadget and
  210.         WindowToFront. If a program that patches any of these is started
  211.         after IconifyGadget, it should be removed before IconifyGadget is
  212.         removed. Alternatively, you can use a utility such as PatchControl
  213.         to handle the patches.
  214.  
  215.  
  216.     WARNING
  217.  
  218.         Fooling around with other programs' windows is NOT a nice thing to
  219.         do. If you don't like to take chances, don't use this program.
  220.  
  221.  
  222.     BUGS
  223.  
  224.         This is a beta version, so there are probably lots of unknown bugs.
  225.  
  226.         Since this program seriously hacks the system, it's probably not
  227.         possible to eliminate all 'bugs' (cf the warning above). I'll try
  228.         to do my best, however.
  229.  
  230.         There is a that makes CPR crash if you try to add an iconify gadget
  231.         to it's windows. I have not been able to find out why this happens.
  232.  
  233.         The following bugs were reported by people trying ealrier versions:
  234.         · MUI3 windows get two iconify gadgets (mine and theirs).
  235.           Solution: Turn of iconifying for either MUI or IG (using the
  236.           config file). (First reported by Carl Seward)
  237.         · Workbench windows like Execute and Info can be iconified, but
  238.           since workbench is frozen while these windows show (not Info in
  239.           OS3.0+), the icons never show up and hence they cannot be un-
  240.           iconified. Solution: Use the config file to ban these windows
  241.           from iconifying. (First reported by John Gardi) 
  242.         · Adding an iconify gadget to the CPUsage meter of SuperDashBoard
  243.           causes a crash. Solution: Same as above (for now...)
  244.           (Also reported by John Gardi)
  245.  
  246.         Some windows mysteriously un-iconifies themselves if you click in
  247.         the lower right corner of the screen.
  248.  
  249.         Some windows don't refresh correctly when they are un-iconified.
  250.         Soultion: Use the SAVE option in the config file or the
  251.         SAVESMART option on the command line or in the tooltypes.
  252.  
  253.         When you find a bug, please inform me on how it occured. If you
  254.         have the source code to the program that was making IconifyGadget
  255.         crash, it would be of great help to me if you could send that too.
  256.         My address (email and otherwise) is at the end of this document.
  257.  
  258.  
  259.     THANKS
  260.  
  261.         Thanks to Ewout Walraven for making the Iconify program.
  262.  
  263.         Thanks to everybody who reported bugs and had suggestions to the
  264.         first release of IconifyGadget.
  265.  
  266.  
  267.     COPYRIGHT
  268.  
  269.         IconifyGadget is Copyright © 1995 Håkon Enger
  270.  
  271.         This beta version may not be distributed without explicit
  272.         permission from the author. Such permission is given to the AmiNet
  273.         collection of Amiga software FTP sites.
  274.  
  275.  
  276.     AUTHOR
  277.  
  278.         Håkon Enger
  279.  
  280.         Email addresses: henger@fys.uio.no, haakone@ifi.uio.no. If one of
  281.         them bounces, try the other one.
  282.  
  283.         Regular mail should be addressed to:
  284.             Håkon Enger
  285.             Rikard Nordraaksveg 12
  286.             N-2400 Elverum
  287.             Norway
  288.